xen: add macro for version number string
authorLeo Yan <leo.yan@linaro.org>
Thu, 8 Sep 2022 07:28:58 +0000 (09:28 +0200)
committerJan Beulich <jbeulich@suse.com>
Thu, 8 Sep 2022 07:28:58 +0000 (09:28 +0200)
On Arm64 Linux kernel prints log for Xen version number:

  Xen XEN_VERSION.XEN_SUBVERSION support found

The header file "xen/compile.h" is missed so that XEN_VERSION and
XEN_SUBVERSION are not defined, __stringify() wrongly converts them as
strings and concatenate to string "XEN_VERSION.XEN_SUBVERSION".

This patch introduces a string macro XEN_VERSION_STRING, we can directly
use it as version number string, as a result it drops to use of
__stringify() to make the code more readable.

The change has been tested on Ampere AVA Arm64 platform.

Fixes: 5d797ee199b3 ("xen/arm: split domain_build.c")
Suggested-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Leo Yan <leo.yan@linaro.org>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/arch/arm/acpi/domain_build.c
xen/arch/arm/domain_build.c
xen/common/efi/boot.c
xen/include/xen/compile.h.in

index bbdc90f92c003c0c6d0f0b0290a1776336224719..ed824c0178828d3708bca6947b80eca6cc5ddf35 100644 (file)
@@ -9,6 +9,7 @@
  * GNU General Public License for more details.
  */
 
+#include <xen/compile.h>
 #include <xen/mm.h>
 #include <xen/sched.h>
 #include <xen/acpi.h>
@@ -91,7 +92,7 @@ static int __init acpi_make_hypervisor_node(const struct kernel_info *kinfo,
                                             struct membank tbl_add[])
 {
     const char compat[] =
-        "xen,xen-"__stringify(XEN_VERSION)"."__stringify(XEN_SUBVERSION)"\0"
+        "xen,xen-" XEN_VERSION_STRING "\0"
         "xen,xen";
     int res;
     /* Convenience alias */
index b76a84e8f5fa1f8500c0f7f3bda944687f6df176..0277790088e869526eb12e21e23dc6bb77073360 100644 (file)
@@ -1367,7 +1367,7 @@ static int __init make_hypervisor_node(struct domain *d,
                                        int addrcells, int sizecells)
 {
     const char compat[] =
-        "xen,xen-"__stringify(XEN_VERSION)"."__stringify(XEN_SUBVERSION)"\0"
+        "xen,xen-" XEN_VERSION_STRING "\0"
         "xen,xen";
     __be32 *reg, *cells;
     gic_interrupt_t intr;
index a5b2d6ddb837fc4478a528362848069ce0a4c0aa..db0340c8e2628314226c618dda11ede4c62fdf3b 100644 (file)
@@ -1341,8 +1341,8 @@ efi_start(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable)
             efi_console_set_mode();
     }
 
-    PrintStr(L"Xen " __stringify(XEN_VERSION) "." __stringify(XEN_SUBVERSION)
-             XEN_EXTRAVERSION " (c/s " XEN_CHANGESET ") EFI loader\r\n");
+    PrintStr(L"Xen " XEN_VERSION_STRING XEN_EXTRAVERSION
+            " (c/s " XEN_CHANGESET ") EFI loader\r\n");
 
     efi_arch_relocate_image(0);
 
index 440ecb25c10bfa13a24293f0318937ee21ff8ca5..3151d1e7d1bfd861abab3dabd6a883b6a7515707 100644 (file)
@@ -7,6 +7,7 @@
 
 #define XEN_VERSION            @@version@@
 #define XEN_SUBVERSION         @@subversion@@
+#define XEN_VERSION_STRING     "@@version@@.@@subversion@@"
 #define XEN_EXTRAVERSION       "@@extraversion@@"
 
 #define XEN_CHANGESET          "@@changeset@@"